// 核心的代码封装原则：
// 保证 .js 文件的纯粹性（功能的单一性）
import Vue from 'vue'
import App from './App.vue'
// import App from './App_bak.vue'
// import App from './App_bak2.vue'
// import App from './App_bak3.vue'
import router from './router'

// 导入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
// require styles
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

// 导入了 Element UI 并注册全局组件
import './plugins/element.js'
// 导入阿里图标
import './assets/fonts/iconfont.css'
// 导入全局样式
import './assets/css/golbal.css'

// 将来，也需要在这个文件中，配置 axios 请求库
// 配置请求的根路径
// 请求的拦截器
import axios from 'axios'
// 配置请求根路径
axios.defaults.baseURL = 'https://www.liulongbin.top:8888/api/private/v1/'
// 配置请求的拦截器
axios.interceptors.request.use(function(config) {
  // 为请求头添加 Authorization 身份认证的字段
  config.headers.Authorization = window.sessionStorage.getItem('token') || ''
  // 在发送请求之前做些什么
  return config
})
Vue.prototype.$http = axios

// 将富文本编辑器挂载为全局组件
Vue.use(VueQuillEditor)

// 在全局挂载格式化时间的方法
// 格式化事件的方法
Vue.prototype.dateFormater = dtStr => {
  const dt = new Date(dtStr)
  const y = dt.getFullYear()
  const m = padZero(dt.getMonth() + 1)
  const d = padZero(dt.getDate())
  const hh = padZero(dt.getHours())
  const mm = padZero(dt.getMinutes())
  const ss = padZero(dt.getSeconds())

  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}
// 补零函数
function padZero(n) {
  return n > 9 ? n : '0' + n
}

Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
